Package gwtappcontainer.server.apps.insight

Source Code of gwtappcontainer.server.apps.insight.PractiseRepository

package gwtappcontainer.server.apps.insight;

import gwtappcontainer.server.Utils;
import gwtappcontainer.server.apps.APIException;
import gwtappcontainer.shared.apis.APIResponse.Status;
import gwtappcontainer.shared.apps.insight.Practise;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

public class PractiseRepository {
 
  public static Practise get(String practiseName) {
       
      try {
            String sql = "select practise_id, practise from practises where practise = ?";
          
            Practise practise = null;
          
            try (Connection connection = DriverManager.getConnection(Utils.getCloudSqlURL())) {
                  
                try (PreparedStatement ps = connection.prepareStatement(sql)) {
                      
                    ps.setString(1, practiseName.toLowerCase());
                  
                    try (ResultSet resultSet = ps.executeQuery()) {                                       
                        while (resultSet.next()) {
                            practise = new Practise();
                            practise.id = resultSet.getInt(1);
                            practise.name = resultSet.getString(2);
                        }
                    }
                }
            }
          
            return practise;
            
      } catch (Exception ex) {
              throw new RuntimeException(ex);
      }             
  }
 
  public static Practise add(String practiseName) {
         
     if (null != get(practiseName))
       throw new APIException(Status.ERROR_RESOURCE_ALREADY_EXISTS,
           "Practise [" + practiseName + "] already exists");
    
     try {
         String sql = "insert into practises values (0, ?)";                     
       
         try (Connection connection = DriverManager.getConnection(Utils.getCloudSqlURL())) {
               
             try (PreparedStatement ps = connection.prepareStatement(sql)) {
                   
                 ps.setString(1, practiseName.toLowerCase());
               
                 ps.executeUpdate();                                   
             }
         }
       
         Practise practise = get(practiseName);       
         return practise;
           
     } catch (Exception ex) {
         throw new RuntimeException(ex);
     }             
   }

  public static void delete(String practiseName) {
        
       Practise practise = get(practiseName);
     
       if (null == practise)
           throw new APIException(Status.ERROR_RESOURCE_DOES_NOT_EXIST,
                           "Practise [" + practiseName + "] does not exist");
                                             
       try {
           String sql = "delete from practises where practise = ?";                       
         
           try (Connection connection = DriverManager.getConnection(Utils.getCloudSqlURL())) {
                 
               try (PreparedStatement ps = connection.prepareStatement(sql)) {
                     
                   ps.setString(1, practiseName.toLowerCase());
                 
                   ps.executeUpdate();                                   
               }
           }                                                                     
       } catch (Exception ex) {
           throw new RuntimeException(ex);
       }             
   }

  public static ArrayList<Practise> getAll() {
    try {
          String sql = "select practise_id, practise from practises order by practise";
        
          ArrayList<Practise> practises = new ArrayList<>();
        
          try (Connection connection = DriverManager.getConnection(Utils.getCloudSqlURL())) {
                            
              try (PreparedStatement ps = connection.prepareStatement(sql)) {                                     
                
                  try (ResultSet resultSet = ps.executeQuery()) {                                       
                      while (resultSet.next()) {
                          Practise practise = new Practise();
                          practise.id = resultSet.getInt(1);
                          practise.name = resultSet.getString(2);
                         
                          practises.add(practise);
                      }
                  }
              }
          }
        
          return practises;
            
      } catch (Exception ex) {
              throw new RuntimeException(ex);
      }
  }
}
TOP

Related Classes of gwtappcontainer.server.apps.insight.PractiseRepository

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.